should software developers have a portfolio